home *** CD-ROM | disk | FTP | other *** search
/ PC User 2003 January / Disc 3 / Amethyst.iso / rl / build-bin / boot-images / buildit-cd_ramdisk.sh next >
Encoding:
Text File  |  2002-06-14  |  3.5 KB  |  175 lines

  1. # buildit.sh
  2. # script to build cd and install ramdisk images
  3. # copyright (c) 2001 joseph cheek.  all rights reserved.
  4. # released under gpl
  5.  
  6.  
  7. # need > 1050 blocks free cd_ramdisk
  8. # need > 2400 blocks free install_ramdisk
  9.  
  10. LANG=
  11.  
  12. if [ "n$1" = "n-l" ]; then # -l
  13.   LANG="$2"
  14.   shift
  15.   shift
  16. fi
  17.  
  18. if [ -z "$LANG"  ]; then
  19.   echo -e `basename $0` \[-l lang\]: need lang \\a
  20.   exit 1
  21. fi
  22.  
  23. # /
  24. echo -e Rootdisk \  \ \ : Desktop/LX Personal \(Linux `uname -r` \
  25.   common\) \#`cat /opt/redmondlinux/builds/CURRENT_BUILD` \
  26.   `date +%d%b%y` > IDENTIFY
  27.  
  28. cd /tmp
  29. cp /opt/redmondlinux/builds/current/$LANG/floppy/linuxrc .
  30. perl -pi -e s/^\\s*//g linuxrc
  31. perl -pi -e s/^\\#.*/\\#/g linuxrc
  32. mv linuxrc linuxrc.new
  33. echo \#\!/bin/sh > linuxrc
  34. cat linuxrc.new >> linuxrc
  35. rm linuxrc.new
  36. perl -pi -e s/FILE_LOG_DEBUG/FLD/g linuxrc
  37. perl -pi -e s/CMD_BOOTER/BTR/g     linuxrc
  38. perl -pi -e s/DIR_TARGET/DT/g      linuxrc
  39. cd -
  40. cp /tmp/linuxrc .
  41. chmod 555 linuxrc
  42.  
  43. # boot
  44.  
  45. cp /boot/stage3.pcx boot/stage3.pcx
  46.  
  47. # dev
  48.  
  49. # etc
  50.  
  51. # grep -B 9999 ISAPnP < /usr/share/hwprobe/linux-kernel-ids |
  52. cat < /usr/share/hwprobe/linux-kernel-ids |
  53.   cut -d \# -f 1 | tr -s \\n | tr -d \\t > etc/pcidrivers
  54.  
  55. # modules
  56.  
  57. # drivers
  58.  
  59. NEWMODDIR=lib/modules/`uname -r`/kernel/drivers  # no /; local
  60. REALMODDIR=/lib/modules/`uname -r`/kernel/drivers  # note /; from root
  61.  
  62. rm -rf /mnt/cd_ramdisk/lib/modules # dangerous?
  63. mkdir -p $NEWMODDIR
  64.  
  65. for a in block cdrom ide net parport pnp scsi sound usb; do
  66.  
  67.   [ -d $NEWMODDIR/$a ] || mkdir -p $NEWMODDIR/$a
  68.  
  69.   case "$a" in
  70.  
  71.     block)
  72.       COPY=loop*
  73.       ;;
  74.  
  75.     cdrom)
  76.       COPY=cdrom*
  77.       ;;
  78.  
  79.     ide)
  80. #      COPY=ide-cd*
  81.       COPY=ide-floppy*
  82.       ;;
  83.  
  84.     net)
  85.       COPY="*.o tulip/*.o"
  86.       ;;
  87.  
  88.     parport)
  89.       COPY=*
  90.       ;;
  91.  
  92.     pnp)
  93.       COPY=isa-pnp*
  94.       ;;
  95.  
  96.     scsi)
  97.       COPY="*.o aic7xxx/*.o"
  98.       ;;
  99.  
  100.     sound)
  101.       COPY=sound*
  102.       ;;
  103.  
  104.     usb)
  105.       COPY="usbcore* usb-?hci* storage/*"
  106.       ;;
  107.  
  108.   esac
  109.  
  110. set -f  # turn off glob expansion
  111.   for b in $COPY; do
  112. set +f  # turn it back on
  113.  
  114.     for c in `echo $REALMODDIR/$a/$b`; do
  115.       gzip --best $c -c > $NEWMODDIR/$a/`basename $c`.gz
  116.     done
  117.   done
  118.  
  119. done
  120.  
  121. # e100
  122. gzip --best -c $REALMODDIR/../../net/e100.o > $NEWMODDIR/net/e100.o.gz
  123.  
  124. # NEED... MORE... SPACE...
  125.  
  126. rm lib/modules/*/kernel/drivers/scsi/{dmx3191d,eata*,megaraid,*st}.o.gz
  127.  
  128. # fs
  129.  
  130. mkdir -p lib/modules/`uname -r`/kernel/fs
  131. for a in fat isofs msdos vfat; do # umsdos nfs lockd
  132.   gzip --best /lib/modules/`uname -r`/kernel/fs/$a/$a.o -c \
  133.     > lib/modules/`uname -r`/kernel/fs/$a.o.gz
  134. done
  135.  
  136. # net
  137.  
  138. # if we're getting rid of nfs, we don't need this...
  139. # mkdir -p lib/modules/`uname -r`/kernel/net/sunrpc
  140. # gzip --best /lib/modules/`uname -r`/kernel/net/sunrpc/sunrpc.o -c \
  141. #   > lib/modules/`uname -r`/kernel/net/sunrpc/sunrpc.o.gz
  142.  
  143.  
  144. # copy stuff to install_ramdisk
  145.  
  146. rm -rf ../install_ramdisk/*
  147. cp -a * ../install_ramdisk
  148.  
  149. # need more space on cd_ramdisk - HACK
  150.  
  151. rm lib/modules/`uname -r`/kernel/drivers/scsi/ql*
  152. rm lib/modules/`uname -r`/kernel/drivers/usb/usb-storage*
  153.  
  154. for a in airo ppp 8390 arlan bonding bsd cs89 eql eepro100 es3210 \
  155.   fealnx lne390 lp486e natsemi ne2 ne32 ni50 plip rcpci sb1000 \
  156.   shaper slhc slip smc starfire strip sundance tun \
  157.   via-rhine wavelan winbond; do
  158.   rm lib/modules/`uname -r`/kernel/drivers/net/$a*.gz
  159. done
  160.  
  161. # need more space on install_ramdisk
  162.  
  163. cd ../install_ramdisk/lib/modules/`uname -r`/kernel/drivers/scsi
  164. rm [3-hj-rt-z]* i[a-ce-z]* s[abd-qs-z]*
  165. # all but ide-scsi, scsi_mod, sr_mod
  166.  
  167. cd ..
  168. rm -rf net parport pnp sound usb
  169. cd ..
  170. rm -rf fs/umsdos* fs/lockd* fs/nfs* net
  171. cd ../../../..
  172. rm -f bin/mol.gz buildit.sh sbin/fdisk.gz
  173.